<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Componente_lst( $this );

	class Componente_lst extends Lst
	{
	function Componente_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}

	function setLevel()
		{
			switch ( $this->getOptionView() )
			{
				case 'E':
				case 'L':
					$this->aShowColumns = array( 'Nombre' );
					break;
			}
		}

	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'KeyLookUp':
					$cReturn = $aRow['ncComponente'];
					break;
				case 'DescriptionLookUp':
					$cReturn = $aRow['cdComponente'];
					break;
			}
			return $cReturn ;
		}
	function initialize()
		{
			// Obtiene de su filtro los parametros que necesita para armar el query
			$this->oFiltro = $this->oModule->loadClass( 'Componente_frm' );
			$this->aFields = array_merge (  (array)$this->oFiltro->getFieldArray() , (array)$this->aFields);
			// Setea el titulo y la descripcion de la tabla
			$this->setTitle ( "Componente" );
			$this->setSummary( "Esta tabla contiene el listado de Componentes" );
			$this->addColumn ( 'Nombre', 'cdComponente', true );
			if ( getParam( PARAM_KEYLOOKUP ) )  $this->aFields['cKeyLookUp'] = getParam( PARAM_KEYLOOKUP );
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT *
								FROM gtComponente AS Com
							";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "cdComponente" );
				$aFiltro = $this->oFiltro->getFilterdArray() ;
				$this->oWhere->addArray ( $aFiltro, 'Com' );
				$this->oWhere->addKey ( $this->oDatabase->dbConcat( "' '", "cdComponente"  ), $this->aFields[cKeyLookUp] ); //
				
				$cSql .= $this->oWhere->make();
				return $cSql ;
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_COMPONENTE, $cParametroRegistro, 'I', VENTANA_SECUNDARIA  );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro = "ncComponente=" . $aRow["ncComponente"];
			$this->addRowAction ( MODIFICAR_COMPONENTE, $cParametroRegistro , '', VENTANA_SECUNDARIA );
			$this->addRowAction ( DUPLICAR_COMPONENTE, $cParametroRegistro , '', VENTANA_SECUNDARIA );
			$this->addRowAction ( ELIMINAR_COMPONENTE ,  $cParametroRegistro );
		}
	}
?>